package com.lxl.todo;
/**

* Z字型变换
*将一个给定字符串 s 根据给定的行数 numRows ，以从上往下、从左到右进行 Z 字形排列。
*
* /
 */

import java.util.*;

public class Solution18 {
    public String convert(String s, int numRows) {
        if(numRows ==1) return s;
        String[] stringArray = new String[numRows];
        Arrays.fill(stringArray, "");
        char[] charArray = s.toCharArray();
        int period = 2 * numRows - 2;
        for (int i = 0; i < charArray.length; i++) {
            int mod = i % period;
            if (mod < numRows) {
                stringArray[mod] += String.valueOf(charArray[i]);
            } else {
                stringArray[period - mod] += String.valueOf(charArray[i]);
            }
        }
        StringBuffer sb = new StringBuffer();
        for (String string : stringArray) {
            sb.append(string);
        }
        return sb.toString();

    }
}
